package main

import (
	"fmt"
	"strings"
)

func main() {

	// //map 引用类型
	// var b = make(map[string]string)
	// b["sex"] = "男"
	// fmt.Println(b)

	// var a = map[string]string{}
	// a["username"] = "zxp"
	// fmt.Println(a)

	// c := map[string]string{}
	// c["ddd"] = "dd"
	// fmt.Println(c)

	// d := map[string]string{
	// 	"username": "xxp",
	// 	"age":      "20", //这个逗号一定要加上
	// }
	// d["name"] = "ddd"
	// d["username"] = "www"
	// fmt.Println(d)

	// //判断k是否存在
	// e := map[string]string{
	// 	"username": "zlc",
	// }
	// value, is_exist := e["username"]
	// value2, is_exist2 := e["weight"]
	// fmt.Printf("value=%v, is_exist=%v\n", value, is_exist)
	// fmt.Printf("value2=%v, is_exist2=%v\n", value2, is_exist2)

	// //删除某k-v
	// f := map[string]string{
	// 	"username": "hsq",
	// 	"sex":      "man",
	// 	"age":      "20",
	// }
	// fmt.Println(f)
	// delete(f, "age")
	// fmt.Println(f)

	//map类型的切片
	//这是原来的切片写法 sm := []string{}  []string这是类型
	// sm := make([]map[string]string, 2, 2)
	// fmt.Printf("%T\n", sm)
	// fmt.Println(sm[0]) //map[]
	// if sm[0] == nil {
	// 	sm[0] = make(map[string]string)
	// 	sm[0]["username"] = "xxx"
	// }
	// fmt.Println(sm)

	// //值为切片的map
	// vm := make(map[string][]string)
	// vm["hobby"] = []string{
	// 	"打篮球",
	// 	"睡觉",
	// }
	// fmt.Println(vm)

	//统计单词出现次数
	s1 := "how do you do"
	c := make(map[string]int)
	s := strings.Split(s1, " ")
	for _, v := range s {
		c[v]++
	}
	fmt.Println(c) //map[do:2 how:1 you:1]

}
